rev1(nil) -> nil
rev1(rev1(x)) -> x
rev1(++2(x, y)) -> ++2(rev1(y), rev1(x))
++2(nil, y) -> y
++2(x, nil) -> x
++2(.2(x, y), z) -> .2(x, ++2(y, z))
++2(x, ++2(y, z)) -> ++2(++2(x, y), z)
make1(x) -> .2(x, nil)
↳ QTRS
↳ DependencyPairsProof
rev1(nil) -> nil
rev1(rev1(x)) -> x
rev1(++2(x, y)) -> ++2(rev1(y), rev1(x))
++2(nil, y) -> y
++2(x, nil) -> x
++2(.2(x, y), z) -> .2(x, ++2(y, z))
++2(x, ++2(y, z)) -> ++2(++2(x, y), z)
make1(x) -> .2(x, nil)
REV1(++2(x, y)) -> REV1(x)
REV1(++2(x, y)) -> REV1(y)
++12(x, ++2(y, z)) -> ++12(++2(x, y), z)
REV1(++2(x, y)) -> ++12(rev1(y), rev1(x))
++12(x, ++2(y, z)) -> ++12(x, y)
++12(.2(x, y), z) -> ++12(y, z)
rev1(nil) -> nil
rev1(rev1(x)) -> x
rev1(++2(x, y)) -> ++2(rev1(y), rev1(x))
++2(nil, y) -> y
++2(x, nil) -> x
++2(.2(x, y), z) -> .2(x, ++2(y, z))
++2(x, ++2(y, z)) -> ++2(++2(x, y), z)
make1(x) -> .2(x, nil)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
REV1(++2(x, y)) -> REV1(x)
REV1(++2(x, y)) -> REV1(y)
++12(x, ++2(y, z)) -> ++12(++2(x, y), z)
REV1(++2(x, y)) -> ++12(rev1(y), rev1(x))
++12(x, ++2(y, z)) -> ++12(x, y)
++12(.2(x, y), z) -> ++12(y, z)
rev1(nil) -> nil
rev1(rev1(x)) -> x
rev1(++2(x, y)) -> ++2(rev1(y), rev1(x))
++2(nil, y) -> y
++2(x, nil) -> x
++2(.2(x, y), z) -> .2(x, ++2(y, z))
++2(x, ++2(y, z)) -> ++2(++2(x, y), z)
make1(x) -> .2(x, nil)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDPOrderProof
↳ QDP
++12(x, ++2(y, z)) -> ++12(++2(x, y), z)
++12(x, ++2(y, z)) -> ++12(x, y)
++12(.2(x, y), z) -> ++12(y, z)
rev1(nil) -> nil
rev1(rev1(x)) -> x
rev1(++2(x, y)) -> ++2(rev1(y), rev1(x))
++2(nil, y) -> y
++2(x, nil) -> x
++2(.2(x, y), z) -> .2(x, ++2(y, z))
++2(x, ++2(y, z)) -> ++2(++2(x, y), z)
make1(x) -> .2(x, nil)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
++12(x, ++2(y, z)) -> ++12(++2(x, y), z)
++12(x, ++2(y, z)) -> ++12(x, y)
Used ordering: Polynomial interpretation [21]:
++12(.2(x, y), z) -> ++12(y, z)
POL(++2(x1, x2)) = 1 + 2·x1 + 2·x2
POL(++12(x1, x2)) = 2·x2
POL(.2(x1, x2)) = 2 + 2·x1 + x2
POL(nil) = 0
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
++12(.2(x, y), z) -> ++12(y, z)
rev1(nil) -> nil
rev1(rev1(x)) -> x
rev1(++2(x, y)) -> ++2(rev1(y), rev1(x))
++2(nil, y) -> y
++2(x, nil) -> x
++2(.2(x, y), z) -> .2(x, ++2(y, z))
++2(x, ++2(y, z)) -> ++2(++2(x, y), z)
make1(x) -> .2(x, nil)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
++12(.2(x, y), z) -> ++12(y, z)
POL(++12(x1, x2)) = 2·x1
POL(.2(x1, x2)) = 1 + 2·x2
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
↳ QDP
rev1(nil) -> nil
rev1(rev1(x)) -> x
rev1(++2(x, y)) -> ++2(rev1(y), rev1(x))
++2(nil, y) -> y
++2(x, nil) -> x
++2(.2(x, y), z) -> .2(x, ++2(y, z))
++2(x, ++2(y, z)) -> ++2(++2(x, y), z)
make1(x) -> .2(x, nil)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDPOrderProof
REV1(++2(x, y)) -> REV1(y)
REV1(++2(x, y)) -> REV1(x)
rev1(nil) -> nil
rev1(rev1(x)) -> x
rev1(++2(x, y)) -> ++2(rev1(y), rev1(x))
++2(nil, y) -> y
++2(x, nil) -> x
++2(.2(x, y), z) -> .2(x, ++2(y, z))
++2(x, ++2(y, z)) -> ++2(++2(x, y), z)
make1(x) -> .2(x, nil)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
REV1(++2(x, y)) -> REV1(y)
REV1(++2(x, y)) -> REV1(x)
POL(++2(x1, x2)) = 1 + 2·x1 + 2·x2
POL(REV1(x1)) = 2·x1
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
rev1(nil) -> nil
rev1(rev1(x)) -> x
rev1(++2(x, y)) -> ++2(rev1(y), rev1(x))
++2(nil, y) -> y
++2(x, nil) -> x
++2(.2(x, y), z) -> .2(x, ++2(y, z))
++2(x, ++2(y, z)) -> ++2(++2(x, y), z)
make1(x) -> .2(x, nil)